The present invention relates to a memory device suitable for use in a data processing system which processes data of different word lengths, and more particularly to an input/output control device with a memory device for storing variable-length data and a method of controlling the input/output operations of the memory device.
A data processing system which processes data of different word lengths under computer control, includes, for example, a 1-bit processor (such as a sequencer) for conducting bit processing, a byte processor such as a general-purpose 8-bit microcomputer, a 16-bit processor such as a minicomputer, and a memory device for storing the data in these processors. The processors are connected through common data and address buses to each other and to the memory device. A given combination of the processors and the memory is employed in some cases. This is unavoidable since various processors with different bit configurations are now available on the market. Though the above-mentioned combination may be restricted in the future, there will still exist data processing systems which are made up of processors having different bit configurations.
In such data processing systems, the 1-bit processor, 8-bit processor and 16-bit processor are connected to the common data bus through a 1-bit bus, an 8-bit bus and a 16-bit bus respectively, when viewed from the standpoint of the word length of the data.
In such systems, there is a problem as to how the memory device for storing data of different word lengths is to be constructed and used to provide for the most efficient utilization of the available storage space. In order to solve the problem, two methods can be considered. According to the first method, the address space of the memory device is divided into three regions, namely, a region for 16-bit data, a region for 8-bit data and a region for 1-bit data. In such a method, the address space of the memory device cannot be effectively utilized, and the stored data has to be converted into data having a predetermined word length when subjected to any processing. In order to eliminate the above difficulties, most data processing systems employ a second method, according to which data of different word lengths is converted through the software processing into data having the same word length adapted for the memory device and then stored therein. In the second method, however, the overhead is increased due to the fact that the data conversion (namely, data organization) is effected through the software processing, and thus the processing performance or processing speed is degraded. The two methods, in brief, have the following drawbacks. In the first method, the memory device must store therein data of different word lengths leaving wasted address space, thereby decreasing the storage efficiency. While, in the second method, the processing performance (or processing speed) is degraded.